import java.util.*;
public class Main{
    public static void main(String args[]){
        // 循环处理所有的测试用例
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int n = sc.nextInt();
            // 处理该用例：循环接收该用例的每一项
            // 如果是数组则入栈，否则为操作符，从栈顶取出两个操作数进行该运算
            Stack<Integer> s = new Stack<>();
            for(int i = 0; i < n; ++i){
                String str = sc.next();
                // 注意要考虑负数，但是该题给的测试用例貌似没有负数
                if(!(str.equals("+") || str.equals("-") || str.equals("*") ||
                        str.equals("/"))){
                    s.push(Integer.parseInt(str));
                }
                else{
                    // 拿到的是操作符
                    int right = s.peek();
                    s.pop();
                    int left = s.peek();
                    s.pop();
                    switch(str.charAt(0)){
                        case '+':
                            s.push(left + right);
                            break;
                        case '-':
                            s.push(left - right);
                            break;
                        case '*':
                            s.push(left * right);
                            break;
                        case '/':
                            s.push(left / right);
                            break;
                    }
                }
            }
            // 循环结束后，最终计算的结果就在栈顶
            System.out.println(s.peek());
        }
    }
}